HOME -  BOOTCD -  SCSI -  UTILITIES -  BOOT DISK -  MULTIMEDIA -  LINKS -  OTHER -  ABOUT

Bart's way to create bootable CD-Roms

Version 0.40
Created: May 10, 2000
Last updated: Jan 10, 2002

Welcome to world's #1 page about creating bootable CD-Roms for PC!

Page contents

» Introduction
» What is a bootable CD-Rom?
» How does a PC boot from CD-Rom? (technical)
» Requirements for building the examples
» Single boot image (floppy emulation)
» Multiple boot images (floppy emulation)
» Bootable Windows NT 4.0 CD-Rom
» Bootable Windows 2000 CD-Rom
» Bootable Windows XP CD-Rom
» Bootable Ghost restore CD-Rom "ELGHOST"
» ELBOOT bootdisk
» About...
» Frequently asked questions
» Links
» Revision history
» Thank you

Introduction


...Bart's way of creating bootable CDs is not just another way, it is "THE SOLUTION" for your company...

You (the technical guy) can create and prepare the structure for bootable installation, diagnostics or other CDs. And anybody in your company (without any knowledge about CD burning) can create and maintain these CDs by adding or changing files when needed. He just has to start a batchfile and select "Build & burn" to create a CD.

For whom is this page?

This page is for you if you want to:


This page is not for you if:

What is a bootable CD-Rom?


A bootable CD-Rom is a CD from which you boot the PC. This means putting the CD in your CD-Rom drive and power-on or reboot your system. The PC will load a boot image from the CD-Rom and control is given to this boot image.

A bootable CD-Rom is not a CD that you insert into your CD-Rom drive and windows will start something from this CD-Rom.
This is called an "autoplay" CD-Rom.
I've just put this information here so that people who do not known the difference between a bootable and a "autoplay" CD-Rom can leave this page and look here: NU2-links: autorun.

How does a PC boot from CD-Rom? (technical)


A PC can boot from a CD-Rom if the PCs BIOS supports the El Torito Bootable CD-ROM Format Specification v1.0.
This specification provides a way of getting to the location on the CD that will provide the boot information, while maintaining ISO-9660 compatibility.

El Torito is not mexican food, it is the bootable CD-Rom specification The El Torito specification was created in january 1995, by Curtus E. Stevens (Phoenix) and Stan Merkin (back then IBM). And it was called after a restaurant, the "El Torito grill", where they went to eat and talk about bootable CD-Roms. Click here for the full story...

The ISO-9660 defines that a "Primary Volume Descriptor" must reside at sector 10h (16 decimal), relative to the start of the session. The El Torito specification uses a Boot Record Volume Descriptor. This Boot Record must be located at sector 11h (17 decimal) in the last session of the CD.

The boot record contains an absolute pointer to the boot catalog. This catalog allows the system to pick a proper boot image to boot from.

Boot Record Volume Descriptor
Offset Type Description
0 Byte Boot record Indicator, must be 0
1-5 Byte ISO-9660 Identifier, must be "CD001"
6 Byte Version of this descriptor, must be 1
7-26 Byte Boot system identifier, must be "EL TORITO SPECIFICATION" padded with 0's.
27-46 Byte Unused, must be 0
47-4A Dword Absolute pointer to first sector of Boot catalog.
4A-7FF Byte Unused, must be 0


...BIOS vendors do not implement the full El Torito specification...


This all sounds very great, a nice and clear specification about bootable CD-Roms and if all BIOS vendors would implement the complete specification, there would be nothing to worry about. But the BIOS vendors do no follow the full El Torito specification!

Below is a list of my findings, and if it is supported on all systems or not...
(I'm not sure if 100% correct)

Description What systems support it?
Single boot image configuration All
Multiple boot image configuration Some
Boot record volume descriptor All
Validation entry All
Boot Indicator 88 "Bootable" All
Boot Indicator 00 "Not bootable" None
Boot media type 0 "No emulation" All *1
Boot media type 1,2,3 "Floppy emulation" All
Boot media type 4 "Harddisk emulation" All
Sector count Many *2
Load RBA All
Header indicator All
Platform ID Many *3
ID string Some *4
Section entry extensions I've never used it
Int 13 function 4A - Initiate disk emulation None *5
Int 13 function 4B - Terminate disk emulation All
Int 13 function 4C - Initiate disk emulation and boot None *5
Int 13 function 4D - Return boot catalog Some


*1 Adaptec aha2940 supports no emulation mode from firmware revision 1.25
*2 Some systems do not support reading more then 1 sector
*3 Some systems do not check the platform ID
*4 I've only seen adaptec SCSI adapters support this
*5 This one hurts, I wanted to use this function badly


New mainboards come out all the time. I see that more and more new mainboards do not support multiboot images configurations.

Requirements for building the examples


This is what you need:
  1. PC running Windows 98/ME, Windows NT 4.0 SP4+, Windows 2000 or Windows XP.
  2. SCSI or ATAPI based CD-recorder or rewriter.
  3. ASPI manager (see also: Bart's page about ASPI).
  4. 1 recordable (CDR) or rewritable (CDRW) CD, on first try, use a rewritable if you can.
  5. To test if the completed CD works, you'll need a PC capable of booting CD-Roms.
  6. Some basic skills for copying, unpacking and editing some files.

Single boot image (floppy emulation)



This will create a bootable CD-Rom using one boot image. The boot image is a sector by sector image taken from a bootable floppy. When a PC boots from floppy this is normally done from the first floppy drive, known as drive number 0 or as drive A:. So, to let the CD-Rom boot there must be some mechanism that emulates a floppy drive (drive number 0).

This floppy emulation can be done in two ways:
Using BIOS/El-Torito or Using Diskemu

Using BIOS/El-Torito


Using this method your PC BIOS provides the emulation for you.

This example will use the CDBOOT bootdisk.

The steps to create are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. Download single eltorito add-on. Unpack the single_eltorito_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  3. Follow the steps in the CDBOOT page to create the CDBOOT bootdisk.
    Create a boot image file from the "CDBOOT" bootdisk using dd.exe, you should call this boot image "cdboot.img" and put it into the "cds\single_eltorito\disk1" directory.
    Note! You have to rename the boot image to lowercase!

  4. Change cds\single_eltorito\disk1\autorun.bat you can add any commands you want. For example start an application from CD-Rom.

  5. All other files and folders you want in the CD-Rom filesystem must also be copied into cds\single_eltorito\disk1 directory.

  6. Edit the file cds\single_eltorito\disk1\build.mak and put your name into the "preparer" variable.

  7. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "single_eltorito".

Done!

Using Diskemu



Using this method a special program called "diskem1x" is loaded first and that program will provide the emulation for the boot images. Use this if you want to boot "dos" based operating systems like Dos 5.x/6.x, Windows 9x, Windows ME...
The advantage of using diskem1x is that it works together with a special Dos CD-Rom driver, called "eltorito.sys", which is based on INT13 extensions and is hardware independent (more info on this look here).

The steps to create are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. If you have not already setup diskemu add-on, version 1.1 (11/07/01) then download diskemu add-on (~9KB).
    Unpack the diskemu_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  3. Download single diskemu add-on. Unpack the single_diskemu_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  4. Follow the steps in the ELBOOT page to create the ELBOOT bootdisk.
    Create a boot image file from the "ELBOOT" bootdisk using dd.exe, you should call this boot image "elboot.img" and put it into the "cds\single_diskemu\disk1" directory.
    Note! You have to rename the boot image to lowercase!

  5. All other files and folders you want in the CD-Rom filesystem must also be copied into cds\single_diskemu\disk1 directory.

  6. Customize the file cds\single_diskemu\disk1\diskemu.cmd for your personal needs.

  7. Change cds\single_diskemu\disk1\autorun.bat you can add any commands you want. For example start an application from CD-Rom.

  8. Edit the file cds\single_diskemu\disk1\build.mak and put your name into the "preparer" variable.

  9. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "single_diskemu".

Good luck!

Multiple boot images (floppy emulation)


This example goes about creating a bootable CD-Rom using multiple boot images in floppy emulation.
You can build your own boot images, or add more images if you like.

This can be done in two ways:
Using BIOS/El-Torito and Using Diskemu

Using BIOS/El-Torito


Warning!

It is possible that your BIOS does not support El Torito multiple boot image configuration!
There is no easy way to check.
When your PC boots only the first image, your BIOS does not support multiboot!


The boot images used in this example are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. Download multi eltorito add-on. Unpack the multi_eltorito_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  3. Follow the steps in the CDBOOT page to create the CDBOOT bootdisk.
    Create a boot image file from the "CDBOOT" bootdisk using dd.exe, you should call this boot image "cdboot.img" and put it into the "cds\multi_eltorito\disk1" directory.
    Note! You have to rename the boot image to lowercase!

  4. Follow the steps in the MSClient page to create the MSClient bootdisk.
    Create a boot image file from the "MSClient" bootdisk using dd.exe, you should call this boot image "msclient.img" and put it into the "cds\multi_eltorito\disk1" directory.
    Note! You have to rename the boot image to lowercase!

  5. Follow the steps in the SCSITOOL page to create the SCSITOOL bootdisk.
    Create a boot image file from the "SCSITOOL" bootdisk using dd.exe, you should call this boot image "scsitool.img" and put it into the "cds\multi_eltorito\disk1" directory.
    Note! You have to rename the boot image to lowercase!

  6. Follow the steps in the CPUID page to create the CPUID bootdisk.
    Create a boot image file from the "CPUID" bootdisk using dd.exe, you should call this boot image "cpuid.img" and put it into the "cds\multi_eltorito\disk1" directory.
    Note! You have to rename the boot image to lowercase!

  7. All other files and folders you want in the CD-Rom filesystem must also be copied into cds\multi_eltorito\disk1 directory.

  8. Change cds\multi_eltorito\disk1\autorun.bat you can add any commands you want. For example start an application from CD-Rom.

  9. Edit the file cds\multi_eltorito\disk1\build.mak and put your name into the "preparer" variable.

  10. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "multi_eltorito".

Done!

Using Diskemu



Bootable Windows NT 4.0 CD-Rom


This will show you how to create a bootable Windows NT 4.0 Workstation or Server CD-Rom. It uses the bootstrap loader from Windows 2000 to have a "press any key to boot from CD" option. It has an updated atapi driver to support harddisks larger than 10GB. Optionally you can add service packs, security hotfixes and other stuff to your CD. The boot catalog and NT bootstrap loader are hidden, just like the original bootable Windows NT 4.0 CD-Rom.

Joliet extensions are enabled by default, so you can have long filenames on the CD, the original Microsoft Windows NT 4.0 bootable CD-Rom uses only ISO9660.

The steps to create are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. Download Windows NT 4.0 add-on. Unpack the nt4_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

    The add-on contains, the Windows 2000 bootstrap loader, the Windows 2000 bootfix.bin and the "build.mak" file.
    We will be using the bootstrap loader from Windows 2000, this will give us the "Press any key to boot from CD" option.

  3. From Windows NT 4.0 CD copy the "i386" folder to cds\nt4ws_us\disk1\.
    You will find the cds\nt4ws_us\disk1\ folder in the same directory as where you have unpacked the cdrpack and Windows NT 4.0 add-on.

  4. From Windows NT 4.0 CD copy into cds\nt4ws_us\disk1\ the following files:
    If you are building a Windows NT 4.0 workstation CD copy: cdrom_w.40
    If you are building a Windows NT 4.0 server CD copy: cdrom_s.40


  5. Optionally copy (from Windows NT 4.0 CD) into cds\nt4ws_us\disk1\ the following files:
    autorun.inf

  6. If you have copied Windows NT 4.0 from MSDN CD...
    Edit the file i386/txtsetup.sif
    section [SetupData], and change SetupSourcePath = "\"

  7. Copy Service Pack 6a, the Post-SP6a Security Rollup Package (SRP) and maybe some other security fixes to cds\nt4ws_us\disk1\.

  8. Update Atapi driver.

    Unpack Service Pack 6a to a temporarily folder using /x parameter.
    From this temporarily folder copy into cds\nt4ws_us\disk1\i386 the following files:
    • ntldr
    • ntdetect.com
    • atapi.sys

  9. All other files and folders you want in the CD-Rom filesystem must also be added to cds\nt4ws_us\disk1.
    Things you could add are: latest internet explorer, directx, ...

  10. Edit the file cds\nt4ws_us\build.mak change the "volumeid" if you like and put your name into the "preparer" variable.

  11. Let's check some files to see if they are in the right place.
    Make sure that the following files exist:
    • cds\nt4ws_us\disk1\w2ksect.dat
    • cds\nt4ws_us\disk1\i386\bootfix.bin
    • cds\nt4ws_us\disk1\i386\setupldr.bin
    • If you are building a Windows NT 4.0 workstation CD: cds\nt4ws_us\disk1\cdrom_w.40
      If you are building a Windows NT 4.0 server CD: cds\nt4ws_us\disk1\cdrom_s.40

    If one or more files are missing do not continue! Go back to correct it!

  12. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "nt4ws_us".

To have more Windows NT 4.0 versions available from cdrpack to build, you can just rename the "nt4ws_us" folder to any other name you want, and go again from step 2.

Done!

Bootable Windows 2000 CD-Rom


This will show you how to create a bootable Windows 2000 Professional, Server or Advanced Server CD-Rom. Optionally you can integrate service pack, add service packs, security hotfixes and other stuff to your CD. The boot catalog and NT bootstrap loader are hidden, just like the original bootable Windows 2000 CD-Rom.

(for multiboot check out Twinkie's How-to Website)

Joliet extensions are enabled by default, so you can have long filenames on the CD, the original Microsoft Windows 2000 bootable CD-Rom uses only ISO9660.

The steps to create are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. Download Windows 2000 add-on. Unpack the w2k_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

    The add-on contains, the Windows 2000 bootstrap loader and the "build.mak" file.

  3. From Windows 2000 CD copy the "i386" folder to cds\w2kpro_us\disk1\.
    You will find the cds\w2kpro_us\disk1\ folder in the same directory as where you have unpacked the cdrpack and Windows 2000 add-on.

  4. From Windows 2000 CD copy into cds\w2kpro_us\disk1\ the following files:
    Always copy: cdrom_nt.5
    If you are building a Windows 2000 professional CD copy: cdrom_ip.5
    If you are building a Windows 2000 server CD copy: cdrom_is.5
    If you are building a Windows 2000 advanced server CD copy: cdrom_ia.5

    Note! Be sure only one "CDROM_Ix.5" file is in the root!

  5. Optionally copy (from Windows 2000 CD) into cds\w2kpro_us\disk1\ the following files:
    autorun.inf
    read1st.txt
    readme.doc
    setup.exe

  6. If you have copied windows 2000 from MSDN CD...
    Edit the file i386/txtsetup.sif
    section [SetupData], and change the setup source path, it should read: SetupSourcePath = "\"

  7. If you have copied windows 2000 from MSDN CD you can disable the product key prompt:
    Edit i386/setupp.ini file, remove the read-only attribute and open the file in notepad.

    Change the last 3 digits of the Pid number to 270
    Example:
    [Pid]
    ExtraData=123456789012345678901234567890
    Pid=12345270

  8. You can apply the latest Windows 2000 Service Pack to this installation (integrated installation). So that you have an installation CD-ROM with the service pack build in.
    Extract the files from your service pack files using the "/x" parameter.

    For example: w2kspx.exe /x
    (where x is your service pack level)

    Apply the service pack to the files in the "cds\w2kpro_us\disk1\i386" directory using "update.exe" with the "-s" option (you must supply full path).

    For example: update.exe -s:c:\bootcd\cds\w2kpro_us\disk1\

    The update.exe can only be started on a Windows 2000 PC!

    Be sure to check that the following file exists: cds\w2kpro_us\disk1\cdrom_sp.tst or cds\w2kpro_us\disk1\cdromspx.tst
    (where x is your service pack level)

  9. Copy the latest Service Pack and security patches to cds\w2kpro_us\disk1\.
    You should do this even if you have done "integraded installation" so that you can use this CD to update existing win2k machines to the latest Service Pack.

  10. All other files and folders you want in the CD-Rom filesystem must also be added to cds\w2kpro_us\disk1.
    Things you could add are: latest internet explorer, directx, ...

  11. Edit the file cds\w2kpro_us\build.mak change the "volumeid" if you like and put your name into the "preparer" variable.

  12. Let's check some files to see if they are in the right place.
    Make sure that the following files exist:
    • cds\w2kpro_us\disk1\w2ksect.dat
    • cds\w2kpro_us\disk1\i386\bootfix.bin
    • cds\w2kpro_us\disk1\i386\setupldr.bin
    • cds\w2kpro_us\disk1\cdrom_nt.5
    • If you are building a Windows 2000 professional CD: cds\w2kpro_us\disk1\cdrom_ip.5
      If you are building a Windows 2000 server CD: cds\w2kpro_us\disk1\cdrom_is.5
      If you are building a Windows 2000 advanced server CD: cds\w2kpro_us\disk1\cdrom_ia.5
    • If Service Pack 1: cds\w2kpro_us\disk1\cdrom_sp.tst
      If Service Pack 2 (or higher): cds\w2kpro_us\disk1\cdromspx.tst
      (where x is your service pack level)

    If one or more files are missing do not continue! Go back to correct it!

  13. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "w2kpro_us".

To have more Windows 2000 versions available from cdrpack to build (on another CD), you can just rename the "w2kpro_us" folder to any other name you want, and go again from step 2.

Done!

Bootable Windows XP CD-Rom


This will show you how to create a bootable Windows XP (final build 2600!) Home Edition or Professional CD-Rom. Optionally you can add security hotfixes and other stuff to your CD. The boot catalog and NT bootstrap loader are hidden, just like the original bootable Windows XP CD-Rom.

Note: This will not create a "dual" bootable CD with Home and professional together on one CD. I think we need a Linux box to create it.

The steps to create are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. Download Windows XP add-on. Unpack the wxp_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

    The add-on contains, the Windows XP bootstrap loader (same as Windows 2000) and the "build.mak" file.

  3. Copy from your Windows XP CD the "i386" folder to cds\wxppro_us\disk1\.
    You will find the cds\wxppro_us\disk1\ folder in the same directory as where you have unpacked the cdrpack and Windows XP addon.

    The location of the i386 folder may differ, for example when you have a dual boot MSDN cd-rom it will be in \%lang%\winxp\%edition%, where %lang% is your language, like "ENGLISH", "GERMAN" and %edition% is "Home" or "Pro". Other CD's may have it just in the root or in some other location.

  4. Copy from Windows XP CD into cds\wxppro_us\disk1\ the following files:
    Always copy: win51
    If you are building a Windows XP Home edition CD copy: win51ic
    If you are building a Windows XP Professional CD copy: win51ip

  5. Optionally copy (from Windows XP CD) into cds\wxppro_us\disk1\ the following files:
    AUTORUN.INF
    README.HTM
    SETUP.EXE

  6. Edit the file i386/txtsetup.sif
    section [SetupData], and change (or verify) SetupSourcePath = "\"

  7. Copy the latest security patches to cds\wxppro_us\disk1\.

  8. All other files and folders you want in the CD-Rom filesystem must also be added to cds\wxppro_us\disk1.
    Things you could add are: latest internet explorer, directx, ...

  9. Edit the file cds\wxppro_us\build.mak change the "volumeid" if you like and put your name into the "preparer" variable.

  10. Let's check some files to see if they are in the right place.
    Make sure that the following files exist:
    • cds\wxppro_us\disk1\w2ksect.dat
    • cds\wxppro_us\disk1\i386\bootfix.bin
    • cds\wxppro_us\disk1\i386\setupldr.bin
    • cds\wxppro_us\disk1\win51
    • If you are building a Windows XP Home edition CD: cds\wxppro_us\disk1\win51ic
      If you are building a Windows XP Professional CD: cds\wxppro_us\disk1\win51ip

    If one or more files are missing do not continue! Go back to correct it!

  11. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "wxppro_us".

To have more Windows XP versions available from cdrpack to build (on another CD), you can just rename the "wxppro_us" folder to any other name you want, and go again from step 2.

Done!

Bootable Ghost restore CD-Rom "ELGHOST"


The ELGHOST bootable CD-Rom uses diskem1x.bin (CD-Rom Disk Emulator) and the eltorito.sys (hardware independent CD-Rom driver).
See also: Diskemu and About ghost.

Requirements: Screen shot (this is what you will see upon restoring):

----------------------------------------------------------------------------
ELGHOST created by Bart Lagerweij                          http://www.nu2.nu
----------------------------------------------------------------------------

These are the description lines taken from the hdimage.txt file.
It can help you remember what was in this hdimage.gho file.
Will you remember it next month?

Copy disk image from CD-Rom to harddisk !!!

Continue? [Y,N] : y


This will erase all data currently on your harddisk !!!

Type "agree" to confirm this action.

Type here :
You will have to hit the "y" key to continue and type "agree" to start restore. This way nobody can start the image restore accidentally.

The steps to create "elghost" are:
  1. If you have not already setup cdrpack version 1.3 then download cdrpack v1.3 (~640KB).
    This file contains a workspace where you can build your bootable CD's from.
    Unpack the cdrpack13.zip file to a directory on your local harddisk.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  2. If you have not already setup diskemu add-on, version 1.1 (11/07/01) then download diskemu add-on (~9KB).
    Unpack the diskemu_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  3. Download elghost add-on. Unpack the elghost_addon.zip file into the same directory as cdrpack 1.3.
    Make sure you expand the subdirectories! So when using pkunzip.exe use the -d option!

  4. Follow the steps in section ELBOOT to create the ELBOOT boot diskette.
    Create an image file from the "elboot" diskette using dd.exe, you should call this file "elboot.img" and put it into the "cds\elghost\disk1" directory.

  5. Copy ghost.exe (not included, not freeware!) to cds\elghost\disk1

  6. Copy your ghost image file to cds\elghost\disk1\hdimage.gho it must be called "hdimage.gho" !

  7. Create a text file called "cds\elghost\disk1\hdimage.txt" with a short description (2-8 lines of plain text) about the ghost image. It must be called "hdimage.txt" !

  8. Edit the file cds\elghost\disk1\build.mak and put your name into the "preparer" variable.

  9. Start the batch file "run.bat".
    From the "Main menu" select "Build & Burn" and "elghost".

Happy ghosting!

ELBOOT bootdisk


  1. Format a bootable Dos 6.x or 7.x floppy diskette (you will need todo this on a Dos 6.x or Windows 9x/ME workstation!).
    format a: /u /s
  2. For Dos 7.x: delete the drvspace.bin file (we don't need it)
    attrib -s -h -r drvspace.bin
    del drvspace.bin
  3. Copy the following files to your floppy disc:
    • EMM386.EXE
    • HIMEM.SYS
    • MSCDEX.EXE
    • DOSKEY.COM

    The files below are not required but can be handy:
    • FDISK.EXE
    • FORMAT.COM
    • SYS.COM
    • XCOPY.EXE, (for Dos 7.x also XCOPY32.EXE and for win98 also XCOPY32.MOD)
  4. Download elboot.zip (~16KB). Unpack elboot.zip file to floppy.

About...


About dd.exe - About mkisofs.exe - About mkbootcd.exe - About cdrecord.exe - About make.exe - About bootcat.bin - About Ghost

About dd.exe


Used to create an image file from a floppy bootdisk. Do not confuse it with the unix "dd" command it is not quite the same.

Example: dd a: cdboot.img
This will create an image file called "cdboot.img" from your bootdisk in drive A:.

You could also use winimage (not freeware) for this, but remember to save your floppy image as .IMA (not compressed) file.

DD was written by Michael L. Hasenfratz in 1991.
Homepage: there is none.
Download: dd.zip

About mkisofs.exe


Used to build/create the ISO image file.

Version 1.13 (and higher) of mkisofs also supports creating multiboot images, (using the "-eltorito-alt-boot" option).

Used mkisofs options: (to see all options run "mkisofs")

-v Verbose
-N Omit version number from ISO9660 filename (needed for NT CD-Roms)
-o Set output filename
-l Allow full 31 character filenames for ISO9660 names
-no-iso-translate Do not translate illegal ISO characters '~' and '#'
-relaxed-filenames Do not translate directory- and filenames containing a dollar sign, like "$OEM$"

When running mkisofs you will receive a message saying: "Warning: creating filesystem that does not conform to ISO-9660." This should be no problem.

For more information on mkisofs v1.13 see the online man page.
Homepage: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
Mkisofs is written by Joerg Schilling.

About mkbootcd.exe


From revision 0.37 of this page, mkbootcd.exe is no longer needed.

About cdrecord.exe


Used to burn the ISO image to the CDR(W).

Used cdrecord options: (to see all options run "cdrecord")

dev=bus,id,lun SCSI target to use as CD/DVD-Recorder (use cdrecord -scanbus to see device list)
-v Increment general verbose level by one
-data Subsequent tracks are CD-Rom data mode 1
-eject Eject the disk after the work is done

For more information on cdrecord v1.9 see the online man page.
Cdrecord is written by Joerg Schilling.
Homepage: http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html

About make.exe


GNU Make version 3.79.1, comes from Cygwin.
It is written by Richard Stallman and Roland McGrath.

About bootcat.bin


From revision 0.37 of this page, a dummy bootcat.bin file is no longer needed.

About Ghost


Norton Ghost (now Symantec) is (great) non free software to create (and restore) harddisk images.

You can limit Ghost's capabilities so that your users do not have full access to Ghost's features.
You can configure the Ghost edition that is stored on the CD ROM to enable only image file restoration, thus removing the possibility of the end users attempting to use the other functions of Ghost. Edit the license file (ghost.env) like this:
Keynum  : 99999
License : AA999999
MaxPCs  : 99
Name    : YourName
Address1: YourCompany
Address2:
switches: load=y,dump=n,disk=n,peer=n,write=y,fprnt=y

Run "ghost -#e" to apply the switches to the ghost.exe file.
For more information on this look here.

If your ghost image is larger than 620MB it will not fit on your CD. To split it into smaller segments you can use ghost explorer to split it.

More Ghost command-line switches? Look here.

If you don't want Ghost to write any error information to ghost.err, add the "-afile=NUL" switch.

Frequently asked questions


I have collected some of the questions I've received here:

  1. [Q] Does Bart's way to create bootable CD-Roms also work on ATAPI/IDE cdwriters?

    [A] Yes (still need Aspi manager).

  2. [Q] I get this message, what does it mean?
    cdrecord: Cannot do inquiry for CD/DVD-Recorder.
    cdrecord: Invalid argument. test unit ready: scsi sendcmd: fatal error
    CDB:  00 00 00 00 00 00
    cmd finished after 0.000s timeout 40s
    

    [A] It means that cdrecord is addressing the wrong drive.

  3. [Q] Could you just save those boot CDs you made as ISO's and have them available for download? That would be great.

    [A] Maybe it would be great. But those ISO image would also contain files that are protected by copyright, so it's illegal. It would also flood the link to the internet, because of these large files.
    In other words: NO!. You have to create them yourself.

  4. [Q] I have create a multi-boot CD, but my computer automatically boots into the first image. What did I do wrong?

    [A] This is the most asked question (or problem)! Some people seem to think that they did something wrong, but it is the BIOS in their PC that is propably not supporting multiboot images.

    But... there is a way around this! As of Nov 8, 2000 Gary Tong started writing a Bootable CD-Rom Disk Emulator and Dos CD-Rom driver that worked its way around this problem. Currently this project is developed by Bart Lagerweij (that's me).
    Go here: Bootable CD-Rom Disk Emulator.

  5. [Q] I have a bootable Windows 2000 install/setup CD-Rom, when it boots you must press a key to boot from CD-Rom. If no key was pressed it boots from the hard drive. Is there a way to do the same thing on a bootable CD using a floppy boot image?

    [A] Yes, two options:
    1. This can be done using Diskemu.
    2. Use the jo.sys loader I've created.

  6. [Q] Mkisofs says: "Warning: creating filesystem that does not conform to ISO-9660"

    [A] This is normal, ignore it.

  7. [Q] Can I emulate writing CDs using cdrecord?

    [A] Yes, add the "-dummy" option to cdrecord. This executes everything with the laser turned off.

  8. [Q] Can I blank a CDRW using cdrecord?

    [A] Yes. use the "blank" option in cdrecord.exe
    For a "fast" erase: cdrecord dev=x,y,z blank=fast
    For a "full" erase: cdrecord dev=x,y,z blank=all

    When using cdrpack there is a checkbox called "Blank CDRW media before recording" just check it before burning...

  9. [Q] How can I see what's inside a .ISO file?

    [A] Use ISOINFO or IsoBuster.

    To see the information from the primary volume descriptor:
    isoinfo -d -i mycd.iso

    To see all the files in the ISO image
    isoinfo -l -i mycd.iso

  10. [Q] I have created a multi boot CD, is it possible to name the items as they come up? (I only see numbers)

    [A] No, your BIOS is limited in this way. It just displays the numbers and media types.
    There is only one way around this: use diskem1x.

  11. [Q] Is it possible to make a bootable CD that will completely boot up Microsoft Windows 9x or NT, as if it was booting from the hard drive?

    [A] Yes, it is possible (not easy!)

  12. [Q] I don't have a 2.88MB floppy drive. How do I make a bootable 2.88MB Dos-based floppy image?

    [A] You can make a 2.88MB (or any other standard size) floppy image using MKBT, checkout here.

  13. [Q] The information on this page is a real lifesaver...
    How can I thank Bart for his help?
    How can I do something back?

    [A] Look here: http://www.nu2.nu/thanks/bart/.

  14. [Q] When building the ISO file I get this message: "mkisofs.exe: Uh oh, I cant find the boot image '%file%.img' !"
    (where %file% is the name of your boot image)

    [A] Mkisofs.exe cannot find the bootimage file, remember that mkisofs.exe is a Posix/Unix application and it is case sensitive. Try renaming your file into lowercase...

  15. [Q] I've burned a bootable NT4/W2K/XP CD-Rom using Nero. When booting I can get the message "BOOT: Couldn't find NTLDR"

    [A] You need to disable ISO9660 file versions, in Nero you need to do a registry setting:
    HKEY_CURRENT_USER\Software\ahead\Nero - Burning Rom\General\AddISOFileVersion
    Set the value to 0 (zero).

Links


For a list of bootable CD-Rom related links, goto the "Bootable CD-Rom" section of the links page.

Revision history


The modifications made with each new revision:

Thank you


A big "thank you" goes to:

See also: JO.SYS - Bart's Boot Image Extractor - Multiboot disk emulator


2002/2/15 

© 2000-2002, Bart Lagerweij - Powered by Saburovo.com
You may freely distribute, publish, translate or copy this page or parts of this page, but only if you include proper credit as: (1) the title of this page "Bart's way to create bootable CD-Roms", (2) the name of the creator "Bart Lagerweij" and (3) the URL of this page - http://www.nu2.nu/bootcd/ -